package com.care.dao.model;

import java.util.Date;
import javax.persistence.*;

public class User {

    public static final Integer USER_STATUS_NOT_ACTIVE = 0;
    public static final Integer USER_STATUS_OK = 1;
    public static final Integer USER_STATUS_WAIT_VALIDATE = 2;
    public static final Integer USER_STATUS_REJECT = 3;
    public static final Integer USER_STATUS_LOCK = -1;

    /**
     * 物理ID
     */
    @Id
    @Column(name = "user_id")
    private Integer userId;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 微信的openid
     */
    @Column(name = "open_id")
    private String openId;

    /**
     * 社区名称
     */
    @Column(name = "community_name")
    private String communityName;

    /**
     * 角色：1-老人居民；2-志愿者
     */
    private Integer role;

    @Column(name = "id_no")
    private String idNo;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 所在地区
     */
    private String location;

    /**
     * 头像图片
     */
    private String pic;

    /**
     * 昵称
     */
    @Column(name = "nick_name")
    private String nickName;

    /**
     * 性别
     */
    private String gender;

    /**
     * 出生日期
     */
    private Date birthday;

    /**
     * 社区ID
     */
    @Column(name = "community_id")
    private Integer communityId;

    @Transient
    private Community community;

    /**
     * 获取物理ID
     *
     * @return user_id - 物理ID
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 设置物理ID
     *
     * @param userId 物理ID
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 获取手机号
     *
     * @return mobile - 手机号
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置手机号
     *
     * @param mobile 手机号
     */
    public void setMobile(String mobile) {
        this.mobile = mobile == null ? null : mobile.trim();
    }

    /**
     * 获取微信的openid
     *
     * @return open_id - 微信的openid
     */
    public String getOpenId() {
        return openId;
    }

    /**
     * 设置微信的openid
     *
     * @param openId 微信的openid
     */
    public void setOpenId(String openId) {
        this.openId = openId == null ? null : openId.trim();
    }

    /**
     * 获取社区名称
     *
     * @return community_name - 社区名称
     */
    public String getCommunityName() {
        return communityName;
    }

    /**
     * 设置社区名称
     *
     * @param communityName 社区名称
     */
    public void setCommunityName(String communityName) {
        this.communityName = communityName == null ? null : communityName.trim();
    }

    /**
     * 获取角色：1-老人居民；2-志愿者
     *
     * @return role - 角色：1-老人居民；2-志愿者
     */
    public Integer getRole() {
        return role;
    }

    /**
     * 设置角色：1-老人居民；2-志愿者
     *
     * @param role 角色：1-老人居民；2-志愿者
     */
    public void setRole(Integer role) {
        this.role = role;
    }

    /**
     * 获取状态
     *
     * @return status - 状态
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置状态
     *
     * @param status 状态
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取所在地区
     *
     * @return location - 所在地区
     */
    public String getLocation() {
        return location;
    }

    /**
     * 设置所在地区
     *
     * @param location 所在地区
     */
    public void setLocation(String location) {
        this.location = location == null ? null : location.trim();
    }

    /**
     * 获取头像图片
     *
     * @return pic - 头像图片
     */
    public String getPic() {
        return pic;
    }

    /**
     * 设置头像图片
     *
     * @param pic 头像图片
     */
    public void setPic(String pic) {
        this.pic = pic == null ? null : pic.trim();
    }

    /**
     * 获取昵称
     *
     * @return nick_name - 昵称
     */
    public String getNickName() {
        return nickName;
    }

    /**
     * 设置昵称
     *
     * @param nickName 昵称
     */
    public void setNickName(String nickName) {
        this.nickName = nickName == null ? null : nickName.trim();
    }

    /**
     * 获取性别
     *
     * @return gender - 性别
     */
    public String getGender() {
        return gender;
    }

    /**
     * 设置性别
     *
     * @param gender 性别
     */
    public void setGender(String gender) {
        this.gender = gender == null ? null : gender.trim();
    }

    /**
     * 获取出生日期
     *
     * @return birthday - 出生日期
     */
    public Date getBirthday() {
        return birthday;
    }

    /**
     * 设置出生日期
     *
     * @param birthday 出生日期
     */
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    /**
     * 获取社区ID
     *
     * @return community_id - 社区ID
     */
    public Integer getCommunityId() {
        return communityId;
    }

    /**
     * 设置社区ID
     *
     * @param communityId 社区ID
     */
    public void setCommunityId(Integer communityId) {
        this.communityId = communityId;
    }

    public String getIdNo() {
        return idNo;
    }

    public void setIdNo(String idNo) {
        this.idNo = idNo;
    }

    public Community getCommunity() {
        return community;
    }

    public void setCommunity(Community community) {
        this.community = community;
    }
}